#ifndef Screen_H
#define Screen_H

#include "Config.h"
#include "oled.h"

#define MAIN_SCREEN     0 // 主界面
#define MENU_SCREEN     1 // 菜单界面
#define TIMER_SUB_MENU  2 // 定时子菜单
#define FAN_SUB_MENU    3 // 雾化器子菜单
#define FOG_SUB_MENU    4 // 风扇子菜单
#define WATER_LEVEL_LOW 20  // 20%以下为水位过低

// 使用 extern 声明变量
extern u8 current_screen; // 当前显示的屏幕
extern u8 current_menu_selection; // 0:返回主界面 1:雾化器 2:风扇 3:定时
extern u8 fan_level; // 0:关 1:低 2:中 3:高
extern u8 fog_level; // 0:关 1:低 2:中 3:高
extern u16 timer_setting; // 单位：分钟
extern u16 countdown_seconds; // 倒计时剩余秒数
extern bit timer_running; // 定时器是否在运行
extern bit timer_finished; // 定时器是否已完成
extern u8 water_level;       // 初始水位100%
extern bit water_low_warning;  // 水位过低警告标志

void display_main_screen(void); // 主界面
void display_menu_screen(void); // 菜单界面
void display_timer_submenu(void); // 定时子菜单
void display_fan_submenu(void); // 雾化器子菜单
void display_fog_submenu(void); // 风扇子菜单
void display_countdown(void); // 倒计时
void check_water_level(void); //水位检测

#endif